Skip to content

Update plugin and project info views#484

Merged
DropSnorz merged 3 commits into
v2from
chore/plugin-info-view
Jun 20, 2026
Merged

Update plugin and project info views#484
DropSnorz merged 3 commits into
v2from
chore/plugin-info-view

Conversation

@DropSnorz

Copy link
Copy Markdown
Owner

No description provided.

@DropSnorz DropSnorz self-assigned this Jun 19, 2026
@DropSnorz DropSnorz added this to the 2.0.0 milestone Jun 19, 2026
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 84761dff-858b-4a34-b4fb-9318ff7f4ede

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

The PR refactors plugin and project info panels: replaces TextFlow-based metadata grids with VBox label/value layouts, introduces FontIcon-based lookup status badges, adds a DAW application screenshot pane background in ProjectInfoController via a new getDawApplicationImage() method in ApplicationDefaults, migrates format display to PluginFormatBadgeView, and updates CSS with new lookup/status badge and info-field rules.

Changes

Plugin & Project Info Panel UI Refresh

Layer / File(s) Summary
ApplicationDefaults, CSS, and tab icon
...core/components/ApplicationDefaults.java, ...resources/owlplug.css, ...resources/fxml/MainView.fxml
Removes linkIconImage field and adds getDawApplicationImage(DawApplication) switch method. Replaces .table-view cell background rules with .lookup-status-badge and .status-icon-{found,missing,unknown} CSS classes, adds info-field-label, info-field-value, and plugin-action-bar rules. Updates the Projects tab icon literal to mdi2f-folder-music-outline.
ComponentInfo panel: format badge container
...plugin/controllers/ComponentInfoController.java, ...fxml/plugins/ComponentInfoView.fxml
Replaces format icon/label @FXML fields with an HBox container (pluginFormatBadgeContainer) populated by PluginFormatBadgeView in refresh(). Refactors the FXML to drop TextFlow/row-constraint imports, add the badge HBox, and rebuild metadata rows as VBox label/value pairs.
PluginInfo panel: metadata grid and FontIcon buttons
...plugin/controllers/PluginInfoController.java, ...fxml/plugins/PluginInfoView.fxml
Removes image graphic assignment from openDirectoryButton. Replaces the TextFlow metadata layout in the FXML with a VBox-based grid (Name, Version, Manufacturer, Category, Identifier, State, Path), adds FontIcon graphics to Enable/Disable buttons, and applies label-danger style to the last-scan-error label.
ProjectInfo panel: DAW screenshot pane, lookup badges, metadata grid
...project/controllers/ProjectInfoController.java, ...fxml/projects/ProjectInfoView.fxml
Changes projectScreenshotPane to Pane, applies ColorAdjust on init, sets flex-last-column resize policy on pluginTable. Rebuilds lookup/status cells with FontIcon+Label badge HBox per LookupResult, updates plugin link cells to FontIcon, switches PluginFormatBadgeView to DEFAULT mode, and sets a BackgroundImage from getDawApplicationImage() on projectScreenshotPane during refresh(). Updates the FXML with the screenshot Pane, VBox metadata pairs, and a dense-styled plugins TableView.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • DropSnorz/OwlPlug#479: This PR's FontIcon-based badge rendering and new CSS classes build directly on the Ikonli/Atlantafx theme migration work introduced there.
  • DropSnorz/OwlPlug#480: Both PRs introduce and use PluginFormatBadgeView to replace per-cell icon-based plugin format rendering across ComponentInfoController, PluginInfoController, and ProjectInfoController.
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive No pull request description was provided; however, the commit messages and file changes clearly relate to refactoring and updating plugin/project info views, making context inferrable despite missing description. Consider adding a brief description explaining the motivation, changes, and testing performed for these UI updates to aid reviewers.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main objective: updating UI displays and structure of plugin and project information views across multiple controller and FXML files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/plugin-info-view

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@DropSnorz

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
owlplug-client/src/main/resources/fxml/projects/ProjectInfoView.fxml (1)

96-104: ⚡ Quick win

Inconsistent icon approach for the folder button.

The folder button in this view uses an Image source (@../../icons/folder-grey-16.png), while ComponentInfoView.fxml and PluginInfoView.fxml use FontIcon graphics (mdi2f-folder). For consistency across the info panels, consider updating this button to use FontIcon as well.

♻️ Suggested update to use FontIcon
                    <Button fx:id="openDirectoryButton" minHeight="-Infinity" prefHeight="23.0">
                        <graphic>
-                            <ImageView fitHeight="16.0" fitWidth="16.0" pickOnBounds="true"
-                                       preserveRatio="true">
-                                <Image url="@../../icons/folder-grey-16.png"/>
-                            </ImageView>
+                            <FontIcon iconLiteral="mdi2f-folder"/>
                        </graphic>
                    </Button>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@owlplug-client/src/main/resources/fxml/projects/ProjectInfoView.fxml` around
lines 96 - 104, The openDirectoryButton in ProjectInfoView.fxml uses an
Image-based icon approach (folder-grey-16.png) which is inconsistent with the
folder button implementations in ComponentInfoView.fxml and PluginInfoView.fxml
that use FontIcon with the mdi2f-folder icon. Replace the ImageView and Image
elements within the openDirectoryButton's graphic with a FontIcon element using
the same mdi2f-folder icon identifier to ensure consistent icon styling across
all info panels.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@owlplug-client/src/main/resources/owlplug.css`:
- Around line 407-425: Fix the color variable references in the
.info-field-label and .info-field-value CSS classes to follow JavaFX CSS
conventions. In the .info-field-label class, change disabled-color to
-disabled-color by adding the leading dash. In the .info-field-value class,
change text-emphase-color to -text-emphasis-color by both adding the leading
dash and correcting the typo from emphase to emphasis. These changes will make
the color variable references consistent with the JavaFX CSS syntax used
elsewhere in the stylesheet.

---

Nitpick comments:
In `@owlplug-client/src/main/resources/fxml/projects/ProjectInfoView.fxml`:
- Around line 96-104: The openDirectoryButton in ProjectInfoView.fxml uses an
Image-based icon approach (folder-grey-16.png) which is inconsistent with the
folder button implementations in ComponentInfoView.fxml and PluginInfoView.fxml
that use FontIcon with the mdi2f-folder icon. Replace the ImageView and Image
elements within the openDirectoryButton's graphic with a FontIcon element using
the same mdi2f-folder icon identifier to ensure consistent icon styling across
all info panels.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: f65c468c-6078-40ac-b72e-9c20a75caab5

📥 Commits

Reviewing files that changed from the base of the PR and between 0a740fe and 30cd268.

⛔ Files ignored due to path filters (4)
  • owlplug-client/src/main/resources/icons/link-grey-16.png is excluded by !**/*.png, !**/*.png
  • owlplug-client/src/main/resources/media/ableton-placeholder.png is excluded by !**/*.png, !**/*.png
  • owlplug-client/src/main/resources/media/reaper-placeholder.png is excluded by !**/*.png, !**/*.png
  • owlplug-client/src/main/resources/media/studioone-placeholder.png is excluded by !**/*.png, !**/*.png
📒 Files selected for processing (9)
  • owlplug-client/src/main/java/com/owlplug/core/components/ApplicationDefaults.java
  • owlplug-client/src/main/java/com/owlplug/plugin/controllers/ComponentInfoController.java
  • owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginInfoController.java
  • owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectInfoController.java
  • owlplug-client/src/main/resources/fxml/MainView.fxml
  • owlplug-client/src/main/resources/fxml/plugins/ComponentInfoView.fxml
  • owlplug-client/src/main/resources/fxml/plugins/PluginInfoView.fxml
  • owlplug-client/src/main/resources/fxml/projects/ProjectInfoView.fxml
  • owlplug-client/src/main/resources/owlplug.css
💤 Files with no reviewable changes (1)
  • owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginInfoController.java

Comment thread owlplug-client/src/main/resources/owlplug.css
@DropSnorz DropSnorz merged commit dda704d into v2 Jun 20, 2026
2 of 4 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant